package com.ixuea.courses.mycloudmusicapisp.domain.response;

import com.ixuea.courses.mycloudmusicapisp.domain.Base;

import java.util.List;

/**
 * 所有接口返回包装类
 */
public class Response extends Base {
    /**
     * 响应码
     *
     * 默认为0：表示成功，其他值表示失败
     */
    private int status;

    /**
     * 错误提示
     */
    private String message;

    /**
     * 真实数据
     *
     * 详情接口：就是一个对象
     * 列表接口：是一个分页对象
     */
    private Object data;

    /**
     * 详细错误信息
     */
    private List<String> detail;

    /**
     * 无参构造方法
     */
    public Response() {
    }

    /**
     * 构造方法
     * @param status
     * @param message
     * @param detail
     */
    public Response(int status, String message, List<String> detail) {
        this.status = status;
        this.message = message;
        this.detail = detail;
    }

    /**
     * 构造方法
     * @param status
     * @param message
     */
    public Response(int status, String message) {
        this.status = status;
        this.message = message;
    }

    /**
     * data 构造方法
     * @param data
     */
    public Response(Object data) {
        this.data = data;
    }

    public int getStatus() {
        return status;
    }

    public void setStatus(int status) {
        this.status = status;
    }

    public String getMessage() {
        return message;
    }

    public void setMessage(String message) {
        this.message = message;
    }

    public Object getData() {
        return data;
    }

    public void setData(Object data) {
        this.data = data;
    }

    public List<String> getDetail() {
        return detail;
    }

    public void setDetail(List<String> detail) {
        this.detail = detail;
    }
}
